package com.xjtu.mybatisplus.service;

import com.xjtu.mybatisplus.common.result.PageResult;
import com.xjtu.mybatisplus.model.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjtu.mybatisplus.model.dto.adminDto.PageInfoDto;
import com.xjtu.mybatisplus.model.dto.UserLoginDto;
import com.xjtu.mybatisplus.model.vo.UserLoginVo;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lsong
 * @since 2023-12-27
 */
public interface UserService extends IService<User> {

    PageResult getUsers(PageInfoDto page);
    UserLoginVo userLogin(UserLoginDto userLoginDto);

    UserLoginVo adminLogin(UserLoginDto userLoginDto);


    /**
     * 增加用户
     *
     * @param user 待新增的用户
     * @return 增加成功的用户
     */
    User create(User user);

//    /**
//     * 删除用户
//     *
//     * @param user 待删除的用户
//     * @return 删除成功的用户
//     */
//    Result<User> delete(User user);
//
//    /**
//     * 修改用户
//     *
//     * @param user 待修改的用户
//     * @return 修改成功的用户
//     */
//    Result<User> update(User user);
//
//
//    /**
//     * 根据userName查找用户
//     *
//     * @param userName 用户帐号
//     * @return 用户帐号对应的用户
//     */
    User findByUserName(String userName);

    /**
     * 判断注册使用的邮箱是否存在
     *
     * @param email 邮箱号
     * @return 是否找到
     */
    boolean registerEmailExist(String email);

    boolean updateByUserEmail(String email);



}
